// TypeScript 对于类型检测的时候使用的是鸭子类型
// 鸭子类型：如果一只鸟，走起来向鸭子，游起来像鸭子，看起来像鸭子，那么你可以认为它就是一只鸭子
// 鸭子类型，只关心属性和行为，不关心你具体是不是对应的类型

class Person {
    constructor(public name: string, public age: number) { }
}
class Dog {
    constructor(public name: string, public age: number) { }
}

function printPerson(p: Person) {
    console.log(p.name, p.age)
}



printPerson(new Person("why", 19))
printPerson({ name: "123", age: 19 })
printPerson(new Dog("keji", 10))

export { }